[PB] BatchUpdateRecords

支持版本:3.50.0

简介

批量更新记录(记录不存在报错,记录存在则修改)。

POST http://{Tcaplus_REST_URL}

请求语法

Http请求

#国内idc&dev&其他自建环境:联系dba分配restproxy进程后由dba提供相应Tcaplus_REST_URL
#腾讯云控制台 RESTful Endpoint, ip:80, 端口默认80
http://172.17.0.22
#TcaplusDB本地docker版 RESTful Endpoint, ip:31001, 端口默认31001
http://9.135.8.93:31001

Http头

名称 是否必填 限制条件 说明
x-tcaplus-target Tcaplus.BatchUpdateRecords
x-tcaplus-version Tcaplus3.50.0
x-tcaplus-app-id 对应业务id编号(aka,集群接入id)
x-tcaplus-zone-id 对应zone编号(aka,表格组id)
x-tcaplus-protocol-version 对应protocol版本号,默认2.0
x-tcaplus-table-name 对应表名
x-tcaplus-pwd-md5 业务密码(aka,集群访问密码),传入计算后的md5值
x-tcaplus-idl-type protobuf
x-tcaplus-result-flag 0:操作成功后不返回数据1:操作成功后返回和请求一致的数据2:操作成功后返回本次update操作后的数据3:操作成功后返回tcapsvr端操作前的数据
x-tcaplus-data-version-check 1:检测记录版本号,只有当该版本号与服务器端的版本号相同时,该版本号才会自增2:不检测记录版本号,强制把客户端的记录版本号写入到服务器中3:不检测记录版本号,将服务器端的版本号自增
x-tcaplus-data-version 具体的version值

示例:

x-tcaplus-target:Tcaplus.BatchUpdateRecords
x-tcaplus-app-id:3
x-tcaplus-zone-id:1
x-tcaplus-protocol-version:2.0
x-tcaplus-table-name:game_players
x-tcaplus-pwd-md5:4e81984efccfb4982333aeb1ff7968d5
x-tcaplus-result-flag:2
x-tcaplus-version:Tcaplus3.50.0
x-tcaplus-data-version-check: 3
x-tcaplus-idl-type:protobuf

Data

使用json格式表示记录相关信息。参数说明:

  • MultiRecords: 更新的记录集合
  • Record: 更新的记录数据
{
    "MultiRecords": [{

            "Record": {
                "player_id":5,
                "player_name":"5",
                "player_email":"5",
                "game_server_id":5,
                "login_timestamp":["123456"],
                "logout_timestamp":["123456"],
                "is_online":true,
                "pay": {
                    "pay_id": 5,
                    "amount": 5,
                    "method": 5
                }
            }
        }, {

            "Record": {
                "player_id":6,
                "player_name":"6",
                "player_email":"6",
                "game_server_id":6,
                "login_timestamp":["123456"],
                "logout_timestamp":["123456"],
                "is_online":true,
                "pay": {
                    "pay_id": 6,
                    "amount": 6,
                    "method": 6
                }
            }
        }]
}

完整请求示例

curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.BatchUpdateRecords' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: game_players' -H 'x-tcaplus-pwd-md5: 0972ad76decf4d11a69e2e0d9af335da' -H 'x-tcaplus-result-flag: 3' -H 'x-tcaplus-version: Tcaplus3.50.0' -H 'x-tcaplus-data-version-check: 2' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
    "MultiRecords": [{

            "Record": {
                "player_id":5,
                "player_name":"5",
                "player_email":"5",
                "game_server_id":5,
                "login_timestamp":["123456"],
                "logout_timestamp":["123456"],
                "is_online":true,
                "pay": {
                    "pay_id": 5,
                    "amount": 5,
                    "method": 5
                }
            }
        }, {

            "Record": {
                "player_id":6,
                "player_name":"6",
                "player_email":"6",
                "game_server_id":6,
                "login_timestamp":["123456"],
                "logout_timestamp":["123456"],
                "is_online":true,
                "pay": {
                    "pay_id": 6,
                    "amount": 6,
                    "method": 6
                }
            }
        }]
}'

返回语法

返回参数说明

参数名 说明
ErrorCode 返回码
ErrorMsg 返回信息
SucceedRecords json格式的返回数据,详见文中Data部分
SucceedRecords json格式,成功的记录返回数据,详见文中Data部分
SucceedNum 成功的记录数
FailedRecords json格式,失败的记录返回数据,详见文中Data部分
FailedNum 失败的记录数

返回示例

成功返回示例

{
    "ErrorCode": 0,
    "ErrorMsg": "Succeed",
    "SucceedRecords": [{
        "RecordVersion": 5,
        "Record": {
            "player_id": 5,
            "player_name": "5",
            "player_email": "5",
            "game_server_id": 5,
            "login_timestamp": ["123456"],
            "logout_timestamp": ["123456"],
            "is_online": true,
            "pay": {
                "pay_id": 5,
                "amount": 5,
                "method": 5
            }
        }
    }, {
        "RecordVersion": 5,
        "Record": {
            "player_id": 6,
            "player_name": "6",
            "player_email": "6",
            "game_server_id": 6,
            "login_timestamp": ["123456"],
            "logout_timestamp": ["123456"],
            "is_online": true,
            "pay": {
                "pay_id": 6,
                "amount": 6,
                "method": 6
            }
        }
    }],
    "SucceedNum": 2
}

失败返回示例

{
    "ErrorCode": 261,
    "ErrorMsg": "txhdb_record_not_exist",
    "SucceedRecords": [{
        "RecordVersion": 6,
        "Record": {
            "player_id": 5,
            "player_name": "5",
            "player_email": "5",
            "game_server_id": 5,
            "login_timestamp": ["123456"],
            "logout_timestamp": ["123456"],
            "is_online": true,
            "pay": {
                "pay_id": 5,
                "amount": 5,
                "method": 5
            }
        }
    }],
    "SucceedNum": 1,
    "FailedRecords": [{
        "Record": {
            "player_email": "6",
            "player_id": 66,
            "player_name": "6"
        }
    }],
    "FailedNum": 1
}

错误码

参考 常见错误码

其它参考文档

[PB Generic表][C++ SDK]批量更新多条记录接口说明

[PB Generic表][Go SDK]批量更新多条数据接口说明

results matching ""

    No results matching ""